// 珠玑妙算游戏（the game of master mind）的玩法如下。
		
// 计算机有4个槽，每个槽放一个球，颜色可能是红色（R）、黄色（Y）、绿色（G）或蓝色（B）。例如，计算机可能有RGGB 4种（槽1为红色，槽2、3为绿色，槽4为蓝色）。作为用户，你试图猜出颜色组合。打个比方，你可能会猜YRGB。要是猜对某个槽的颜色，则算一次“猜中”；要是只猜对颜色但槽位猜错了，则算一次“伪猜中”。注意，“猜中”不能算入“伪猜中”。

// 给定一种颜色组合solution和一个猜测guess，编写一个方法，返回猜中和伪猜中的次数answer，其中answer[0]为猜中的次数，answer[1]为伪猜中的次数。

// 来源：力扣（LeetCode）
// 链接：https://leetcode-cn.com/problems/master-mind-lcci
// 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。

var masterMind = function(solution, guess) {
    if(solution.length !== 4 || guess.length !== 4) return -1;
    // 猜中次数:循环
    // 伪猜中次数:总出现次数-猜中次数，注意边界条件
    let res = [0, 0];
    // 猜中次数
    for(let i=0;i<solution.length;i++) {
        if(solution[i] === guess[i]) res[0]++;
    }
    
    // 总次数
    let i = 0,count = 0;;
    while(i < solution.length) {
        let idx = guess.indexOf(solution[i]);
        if(idx !== -1) {
            // 如果找到了
            // 修建solution和guess
            count++;
            solution = solution.substr(0, i) + solution.substr(i+1);
            guess = guess.substr(0, idx) + guess.substr(idx+1);
            i = -1;
        }
        i++;
    }
    
    res[1] = count-res[0];
    return res;
};

let solution = "BRBB";

let guess = "RBGY";

console.log(masterMind(solution, guess));